home *** CD-ROM | disk | FTP | other *** search
- /*
-
- sdata.hpp
- 10-25-91
- Streamable Data: Loose Data Binder v 1.5
-
- Copyright 1991
- John W. Small
- All rights reserved
-
- PSW / Power SoftWare
- P.O. Box 10072
- McLean, Virginia 22102 8072 USA
-
- John Small
- Voice: (703) 759-3838
- CIS: 73757,2233
-
- */
-
- #ifndef SDATA_HPP
- #define SDATA_HPP
-
- #ifndef SBINDER_HPP
- #include "sbinder.hpp"
- #endif
-
-
- class SData;
- typedef SData * SDatA;
- #define SDatA0 ((SDatA)0)
-
- #define ID_SData 2
- #define DID_Generic 0
- #define DID_String 1
-
- class SData : Streamable {
- protected:
- unsigned sizeofData, Did;
- int dup;
- voiD D;
- void construct(voiD D, unsigned sizeofData,
- unsigned Did, int dup);
- virtual voiD clone(const voiD D);
- public:
- STREAMABLE(SData,ID_SData,
- Streamable);
- SData(voiD D,
- unsigned sizeofData,
- unsigned Did = DID_Generic,
- int dup = 1)
- : Streamable(UNIQUE_STREAMABLE,
- ID_CLASS)
- { construct(D,sizeofData,Did,dup); }
- SData(char * s, int dup = 1);
- operator voiD() { return D; }
- unsigned SizeofData()
- { return sizeofData; }
- unsigned DID() { return Did; }
- ~SData() { if (dup) delete D; }
- };
-
- #endif
-